Currently, in many storage subsystems, a technique for enhancing reliability, such as a RAID (Redundant Arrays of Independent (or Inexpensive) Disks) technique, is adopted to provide reliability that exceeds the reliability of individual HDDs. However, along with the recent advancement of the information-oriented society, there are cases where the reliability provided by the RAID technique is not sufficient.
In order to cope with this situation, a technique is provided where a replica of information stored in a volume of a storage subsystem is retained in a different storage subsystem. For example, Patent Literature 1 discloses a data processing system where contents of a volume (PVOL) in a primary storage system A (hereinafter referred to as “PDKC”) are mirrored to secondary storage systems B (RDKC) and C (LDKC).
In a data processing system disclosed in Patent Literature 1, the PDKC stores a write data received from a host computer in its own volume, and creates a journal including the relevant write data. At this time, the PDKC generates an update number, which is a unique serial number, and stores the number in the journal. The PDKC sends the journal to the RDKC, and the RDKC stores the replica of the write data in its own volume based on the received journal.
Further, the LDKC receives the replica of the write data and the update number from the PDKC, stores the replica of the write data to its own volume, and creates a journal. When failure occurs to the PDKC, the LDKC takes over the operation that the PDKC was performing (processes related to the access request from a host computer), and changes the configuration such that the replica of the volume of the LDKC is retained in the RDKC. Moreover, the LDKC transmits the above-created journal to the RDKC, and the RDKC reflects the data included in the received journal to its own volume in the order of the update number. Thereby, a state is maintained where the replica of the volume of the LDKC is retained in the RDKC without having to copy all the contents of the volume of the LDKC to the RDKC.
When the RDKC reflects the data included in the journal to the volume, it checks the update number. When it is determined that the journal required in the RDKC is not stored in the LDKC, all the contents of the volume of the LDKC must be copied to the RDKC. A case where the journal required in the RDKC is not stored in the LDKC is, for example, when “newest update number of journal arriving at RDKC+1<oldest update number of journal in LDKC”. In that case, the update numbers of journals received by the RDKC (journals received from the PDKC before failure of PDKC, and journals received from LDKC) will be non-successive. In other words, it means that a part of the write data from the host computer is missing. As a result, it is not possible to create a replica volume using journals, so that all the contents of the volume must be copied.